
public class Quicksort implements Isorter {
	private int[] zahlen;
	
	public void sort(int[] zahlen) {
		this.zahlen = zahlen;
		quicksort(0,zahlen.length -1);
	}

	private void quicksort(int links, int rechts) {
		int element, hilf;
		int li = links, re = rechts;
		if(rechts > links) {
			element = zahlen[(links + rechts) / 2];
			do {
				while(zahlen[li] < element)
					li++;
				while(zahlen[re] > element)
					re--;
				if(li <= re) {
					hilf = zahlen[li];
					zahlen[li] = zahlen[re];
					zahlen[re] = hilf;
					li++;
					re--;
				}
			} while(li <= re);
			if(links < re)
				quicksort(links, re);
			if(li < rechts)
				quicksort(li, rechts);
		}
	}
}
